package com.xc.freeapp.entity;

import java.io.Serializable;
import java.util.Date;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.format.annotation.DateTimeFormat;

import com.wordnik.swagger.annotations.ApiModelProperty;


/**
 * 预约挂号表
 * 
 * @author ZhangGuangxiao
 */
public class Bookingreg implements Serializable {
	
	private static final long serialVersionUID = 1L;
	
	private Integer id;
	@ApiModelProperty(value="预约类型(1:普通门诊，2:专家门诊)")
	@NotNull(message="预约类型不能为空")
	private Integer regtype;
	@NotNull(message="科室id不能为空")
	@ApiModelProperty(value="部门id")
	private Integer deptid;
	@NotNull(message="医生id不能为空")
	@ApiModelProperty(value="医生id")
	private Integer doctorid;
	@ApiModelProperty(value="用户id")
	private Integer userid;
	@ApiModelProperty(value="预约编号")
	private String regcode;
	@NotNull(message="预约日期不能为null")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty(value="预约日期")
	private Date regdate;
	@DateTimeFormat(pattern = "HH:mm:ss")
	@ApiModelProperty(value="时间(在这里只是暂时定义。1:早上 2：中午 3:晚上  最后可以根据医生实际可能的预约时间进行改变)")
	private Integer regtime;
	@NotNull(message="就诊人id不能为空")
	@ApiModelProperty(value="就诊人id")
	private Integer patientid;
	@NotNull(message="诊断类型不能为空")
	@ApiModelProperty(value="诊断类型(1:初诊，2:复诊)")
	private Integer patitype;
	@ApiModelProperty(value="备注")
	private String remark;
	@ApiModelProperty(value="预约渠道(1,在线预约,2 ,电话预约)")
	private Integer regchannel;
	
	private Integer createby;
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date createtime;
	private Integer updateby;
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private Date updatetime;
	@ApiModelProperty(value="状态(t:正常，f:失效，d:删除，s:完成,c:取消)")
	private char delflag;
	
	public Bookingreg() {
		super();
	}

	public Bookingreg(Integer id, Integer regtype, Integer deptid,Integer userid, String regcode,Integer doctorid, Date regdate,Integer regtime, Integer patientid,
			Integer patitype, String remark, Integer createby, Date createtime, Integer updateby, Date updatetime, char delflag) {
		super();
		this.id = id;
		this.regtype = regtype;
		this.deptid = deptid;
		this.doctorid = doctorid;
		this.regcode=regcode;
		this.userid=userid;
		this.regdate = regdate;
		this.regtime = regtime;
		this.patientid = patientid;
		this.patitype = patitype;
		this.remark = remark;
		this.createby = createby;
		this.createtime = createtime;
		this.updateby = updateby;
		this.updatetime = updatetime;
		this.delflag = delflag;
	}

	
	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Integer getRegtype() {
		return regtype;
	}

	public void setRegtype(Integer regtype) {
		this.regtype = regtype;
	}

	public Integer getDeptid() {
		return deptid;
	}

	public void setDeptid(Integer deptid) {
		this.deptid = deptid;
	}

	public Integer getDoctorid() {
		return doctorid;
	}

	public void setDoctorid(Integer doctorid) {
		this.doctorid = doctorid;
	}

	public Date getRegdate() {
		return regdate;
	}

	public void setRegdate(Date regdate) {
		this.regdate = regdate;
	}

	public Integer getRegtime() {
		return regtime;
	}

	public void setRegtime(Integer regtime) {
		this.regtime = regtime;
	}

	public Integer getPatientid() {
		return patientid;
	}

	public void setPatientid(Integer patientid) {
		this.patientid = patientid;
	}

	public Integer getPatitype() {
		return patitype;
	}

	public void setPatitype(Integer patitype) {
		this.patitype = patitype;
	}
    
	
	public Integer getUserid() {
		return userid;
	}

	public void setUserid(Integer userid) {
		this.userid = userid;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public Integer getCreateby() {
		return createby;
	}

	public void setCreateby(Integer createby) {
		this.createby = createby;
	}

	public Date getCreatetime() {
		return createtime;
	}

	public void setCreatetime(Date createtime) {
		this.createtime = createtime;
	}

	public Integer getUpdateby() {
		return updateby;
	}

	public void setUpdateby(Integer updateby) {
		this.updateby = updateby;
	}

	public Date getUpdatetime() {
		return updatetime;
	}

	public void setUpdatetime(Date updatetime) {
		this.updatetime = updatetime;
	}

	public char getDelflag() {
		return delflag;
	}

	public void setDelflag(char delflag) {
		this.delflag = delflag;
	}

	public String getRegcode() {
		return regcode;
	}

	public void setRegcode(String regcode) {
		this.regcode = regcode;
	}
	
}
